// 存放客户端函数的声明
#ifndef FUN_H
#define FUN_H
#include "head.h"
void print_options();                        // 输出命令选项
int recvn(int fd, const void *buf, int len); // 接收确定个字节的数据
int sendn(int fd, const void *buf, int len); // 发送确定个字节的数据

int login(int sock_fd);                         // 登录
int get_config(char *filename, Config *config); // 获取配置文件参数（IP、端口、数据库信息）
CmdType getCommandType(const char *str);            // 获取命令类型

void splitString(const char *pstrs,
                 const char *delimiter,
                 char *tokens[],
                 int max_tokens,
                 int *pcount);                              // 分割字符串
int parseCommand(const char *pinput, int len, train_t *pt); // 解析命令
int command_run(int sock_fd, char *buf);
void freeTokens(char *tokens[], int count); // 释放分割字符串的内存

#endif
